﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraEditors.DXErrorProvider;

namespace Warehouse_Management.New
{
    public partial class frmHang : DevExpress.XtraEditors.XtraForm
    {
        public frmHang()
        {
            InitializeComponent();
        }
        public Hang hang = new Hang();
        public enum OpenType
        {
            IsEdit,
            IsNew,
        }
        public OpenType type;
        public bool isSave = false;
        private void frmHang_Load(object sender, EventArgs e)
        {
            cmbDonViTinh.Properties.DataSource = Global.DVT_dt;
            cmbDonViTinh.Properties.DisplayMember = "Ten";
            cmbDonViTinh.Properties.ValueMember = "Ma";
            set();
            
        }
        private void set()
        {
            if (hang != null)
            {
                txtBarcode.Text = hang.Barcode;
                txtTenHang.Text = hang.TenHang;
                cmbDonViTinh.EditValue = hang.DVT_ID;
                txtGhiChu.Text = hang.GhiChu;
            }
        }
        private void get()
        {
            if (hang == null)
                hang = new Hang();
            hang.Barcode = txtBarcode.Text.Trim();
            hang.TenHang = txtTenHang.Text.Trim();
            hang.DVT_ID = cmbDonViTinh.EditValue.ToString();
            hang.GhiChu = txtGhiChu.Text.Trim();
        }
        private void btnSave_Click(object sender, EventArgs e)
        {
            errorPro.ClearErrors();
            bool isValid = true;
            if (string.IsNullOrEmpty(txtBarcode.Text))
            {
                errorPro.SetError(txtBarcode, "Không được để trống mã barcode", ErrorType.Critical);
                isValid = false;
            }
            if (string.IsNullOrEmpty(txtTenHang.Text))
            {
                errorPro.SetError(txtTenHang, "Không được để trống tên hàng", ErrorType.Warning);
                isValid = false;
            }
            if(string.IsNullOrEmpty(cmbDonViTinh.Text))
            {
                errorPro.SetError(cmbDonViTinh, "Đơn vị tính chưa hợp lệ", ErrorType.Critical);
                isValid = false;
            }
            if (!isValid) return;
            this.get();
            isSave = true;
            this.Close();
        }
    }
}